/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sd_proj1.monSolution;

/**
 * Classe Singleton do relógio lógico usado para armazenar por ordem os estados das diversas entidades que interagem na nossa solução
 *
 * @author Pedro Costa Correia - 32795
 * @author Valter Pedro Lopes Vicente - 39360
 */
public class Clock {

	/**
	 *  Instanciação do relógio.
	 *
	 *    @serialField INSTANCE
	 */
	private static final Clock INSTANCE = new Clock();
	/**
	 *  Valor do tempo.
	 *
	 *    @serialField time
	 */
	private int time = 0;

	/**
	 * Construtor private previne a instanciação por parte de outras classes.
	 */
	private Clock() {
	}

	/**
	 * Método para obter a instância do relógio.
	 * @return A instância do relógio.
	 */
	public static Clock getInstance() {
		return INSTANCE;
	}

	/**
	 * Metódo para obter o valor do relógio actual.
	 * @return O valor do relógio.
	 */
	public int getValue() {
		return (this.time++);
	}
}


